package com.zhuangxiaoyan.designpattern.singletonmodel;

/**
 * 懒汉式（线程安全，同步方法）
 * 1）构造器私有化
 * 2）类的内部创建对象
 * 3）向外暴露一个静态的公共方法，加入同步处理的代码，解决线程安全问题
 */
public class SingletonDemo8 {

    // 1、构造器私有化
    private SingletonDemo8() {
    }

    // 2、类的内部声明对象
    private static SingletonDemo8 instance;

    // 3、向外暴露一个静态的公共方法，加入同步处理的代码，解决线程安全问题
    public static synchronized SingletonDemo8 getInstance() {
        if (instance == null) {
            instance = new SingletonDemo8();
        }
        return instance;
    }
}
